FATCAT - Structure Similarity

This notebook shows how to run and parse FATCAT, a structural similarity calculator.

In [ ]:
import ssbio.protein.structure.properties.fatcat as fatcat
In [ ]:
import os
import os.path as op
import tempfile

ROOT_DIR = tempfile.gettempdir()
OUT_DIR = op.join(ROOT_DIR, 'fatcat_testing')
if not op.exists(OUT_DIR):
    os.mkdir(OUT_DIR)
FATCAT_SH = 'fatcat'

Pairwise

In [ ]:
fatcat_outfile = fatcat.run_fatcat(structure_path_1='../../ssbio/test/test_files/structures/12as-A_clean.pdb',
                                   structure_path_2='../../ssbio/test/test_files/structures/1a9x-A_clean.pdb',
                                   outdir=OUT_DIR,
                                   fatcat_sh=FATCAT_SH, print_cmd=True, force_rerun=True)
print('Output file:', fatcat_outfile)
In [ ]:
fatcat.parse_fatcat(fatcat_outfile)

All-by-all

In [ ]:
structs = ['../../ssbio/test/test_files/structures/12as-A_clean.pdb',
           '../../ssbio/test/test_files/structures/1af6-A_clean.pdb',
           '../../ssbio/test/test_files/structures/1a9x-A_clean.pdb']
In [ ]:
tm_scores = fatcat.run_fatcat_all_by_all(structs, fatcat_sh=FATCAT_SH, outdir=OUT_DIR)
tm_scores
In [ ]:
%matplotlib inline
import seaborn as sns
sns.heatmap(tm_scores)